Enterprise information systems typically utilize large-scale storage systems to provide data storage facilities to employees, vendors, customers, or other users. Due to the massive scale of such systems, the task of administering a large-scale storage system can be challenging. In particular, system administrators responsible for large-scale storage systems perform a number of tasks, such as partitioning of the storage system into multiple volumes to support the users and applications of the system. However, determining the amount of storage space to be allocated to each volume is complicated since an administrator cannot know, in advance, how much space will be utilized by each storage volume over a long period of time. An incorrect allocation of space may lead to the starving of some volumes for space, requiring the addition of new capacity to the volumes, while other volumes go underutilized. Traditionally, the underutilized volumes cannot be easily reassigned to volumes needing additional storage space.
A thin provisioning solution can assist storage administrators in the allocation of storage capacity. A thin provisioning system can support creating storage volumes irrespective of the amount of physical capacity actually present. This can reduce the amount of system capacity purchased at the initial deployment time of the system. Thin provisioning can also relieve an administrator from figuring out an exact allocation of storage pools at design or deployment time. Instead, an administrator can make an arbitrary thin provisioning of the virtual storage space among all of the applications to start. Later, actual physical capacity behind the storage system can be added as appropriate.
Storage administrators are also usually responsible for making frequent data backups to be used at times of disaster or other data loss. Snapshots have become a preferred method of protecting a data storage volume against inadvertent data loss and for performing background backups. A read-only snapshot is a non-writable volume that is a point-in-time image of a data storage volume that can be created, mounted, deleted, and rolled back onto the data storage volume arbitrarily. Such snapshots are utilized extensively in the data storage industry for security, backup, and archival purposes. A writeable snapshot is initially an image of a read-only parent snapshot. The writeable snapshot may be written to and modified without affecting the read-only parent snapshot.
Both thin provisioning and snapshot management, within a data storage system, generally use various tables or data structures to store details related to the storage provisioning and snapshots. The size and access-complexity of these tables or data structures can limit the capacity of, or reduce the performance of, a data storage system. This can be particularly true as storage capacities become very large or the number of snapshots increases.
It is with respect to these considerations and others that the disclosure made herein is presented.